Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added docker support + 1 command installation using docker-compose #8578

Merged
merged 6 commits into from
Aug 25, 2023

Conversation

mhwahdan
Copy link

@mhwahdan mhwahdan commented Jun 23, 2022

@AlexeyAB
@cenit
@WongKinYiu

Added docker support for yolo using 2 docker files one for building using the gpu and the other for the cpu.

Also added 1 command installation utility using docker-compose:
so the installation steps are :

  1. clone the repo and enter it's directory
  2. Configure the make file and modify any thing you want.
  3. make sure to have docker installed on your OS and install it if not from this link : docker installation link
  4. run the following command
    • for cpu: docker-compose run yolo-cpu bash
    • for gpu: docker-compose run yolo-gpu bash

After that you will find your self in a bash terminal on a linux container logged in with username yolo and password yolo.
Now you can run any command you need from the yolo documentation.

The docker-compose file will allow you to modify the enviroment as you want whether you want to bind directories, expose ports, connect multiple gpus and much more.

That commit will successfully complete the mile stone of having easy installation of the Darknet.

fixes #6960 , fixes #8140 , fixes #3121 , fixes #7644

@mhwahdan
Copy link
Author

mhwahdan commented Jul 2, 2022

@AlexeyAB
@cenit
@WongKinYiu

please approve the workflow
the dork has been synchronized with the master branch

@mhwahdan
Copy link
Author

mhwahdan commented Jul 2, 2022

@AlexeyAB
@cenit
@WongKinYiu

Ready to merge

@cenit
Copy link
Collaborator

cenit commented Jul 2, 2022

the build is not performed inside a container but is left to the user. Shouldn't it be better to ensure binary compatibility?

@cenit
Copy link
Collaborator

cenit commented Jul 2, 2022

also, this PR does not fix #7644 and is a minor subset of #4148 which never got merged

@mhwahdan
Copy link
Author

mhwahdan commented Jul 2, 2022

@cenit
@AlexeyAB

the build is not performed inside a container but is left to the user. Shouldn't it be better to ensure binary compatibility?

No, the build is performed inside the container, the user has only to modify the Makefile and the container will build yolo inside the container so binary compatibility is ensured.

also, this PR does not fix #7644 and is a minor subset of #4148 which never got merged

it will allow the user to setup yolo on windows using containers instead of MSbuilds and this docker build
Also my PR made a docker file inside the repo it's self so the container's distribution can be easily controlled and monitored and we can ensure that by adding workflows for testing it

@mhwahdan
Copy link
Author

mhwahdan commented Jul 2, 2022

@cenit
@AlexeyAB
we use a dockerfile to build the container and yolo inside of it by copying the source code and compiling it inside the container using make

we also took advantage of multi stage so that the output container has minimal size and best performance which was not used in #4148

cpu container has size of 170 mega bytes

@mhwahdan
Copy link
Author

mhwahdan commented Jul 6, 2022

@AlexeyAB
@cenit
@WongKinYiu

please merge

@cenit
Copy link
Collaborator

cenit commented Jul 6, 2022

merging a PR might take some time and is not guaranteed in any case :)
please be patient

@mhwahdan
Copy link
Author

mhwahdan commented Jul 6, 2022

great
If it helps I can provide a demonastration of it running

@mhwahdan
Copy link
Author

mhwahdan commented Jul 7, 2022

@AlexeyAB
@cenit
please approve the work flow

@mhwahdan
Copy link
Author

mhwahdan commented Jul 8, 2022

@AlexeyAB

Please approve the workflow and tell me if you lke to have a demo of the setup and running

@cenit cenit merged commit ea4f126 into AlexeyAB:master Aug 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Docker version of Darknet Dockerfile on project Dockerized Darknet [low priority]
2 participants